1) Field of the Invention
The present invention relates to information processing systems, and in particular, to control of communication between processor units in such information processing systems.
2) Description of the Prier Art
In the prior art, a known information processing system comprises a first processor group and a second processor group of a plurality of execution processor units (EPUs). The first processor group comprises a control processor unit and an input/output (IO) processor unit. The control processor unit performs management of resources of the information processing system. In another case, the control processor unit also performs compile link of user's programs. The IO processor unit is for controlling data transmission from and to an IO device. The first processor group is coupled with a control storage unit through a first system control unit or a first storage control unit and with an operation storage unit through the first system control unit and a second system control unit or a second storage control unit.
The control storage unit stores control programs and the operation storage unit stores a large amount of data to be processed by the plurality of EPUs.
The plurality of EPUs of the second processor group are coupled with the operation storage unit through the second system control unit and execute tasks or processes at a high processing speed while performing reading and writing of data for the operation storage units through the second system control unit.
In operation of the information processing system, communication is required between processor units in the first processor group, between two EPUs in the second processor group and between one processor unit in the first processor group and one EPU in the second processor group. Accordingly, the information processing system has an interprocessor communication system which comprises transmission means commonly used by those processor units in the first and the second processor groups. Communication between a first and a second of those processor units can be performed through the transmission means. That is, the first processor unit transmits, as a source processor unit, communication information to the transmission means. The communication information comprise a message and a destination address representative of the second processor unit. The second processor unit decides the destination address and processes the message as a receiving processor unit. The receiving processor unit transmits a reply signal to the source processor unit through the transmission means after processing the message. Thus, the communication is completed.
As the transmission means, a known type uses first and second buses provided in the first and second system control units, respectively, and a third bus connecting the first and the second, buses. The first processor group and the second processor group are coupled with the first and second buses, respectively. In this type of the transmission means, the communication information and the reply signal are transmitted through the first, the second, and/or the third buses between the source processor unit and the receiving processor unit.
Another type of transmission means comprises a message box or a mail box for storing messages from the source processor unit in addition to the buses. The buses are used for transmitting not the message but the destination address alone. The receiving processor unit having the destination address reads the message from the message box after deciding the destination address.
In use of any one of the above-described two types of transmission means, there is a problem of contention of communication requests from those processor units. That is, when communication is performed between a first and a second of those processor units, a communication request often occurs in a third of the processor units. In order to resolve a problem of contention of communication requests, the interprocessor communication system has locking means for controlling permission of information transmission right. When one processor unit has the permission and performs the interprocessor communication with another processor unit, the locking means locks issue of permission to the other processor units so as to prevent any other processors from sending out communication information to the transmission means. The locking means are usually provided in the control storage unit.
In response to a lock request from a specific one of those processor units which firstly requests communication during a waiting or initial condition where no interprocessor communication is performed, the locking means issues permission to the specific processor unit and locks issue of permission so as to prevent other processor units from sending out communication information to the transmission means. That is, when the specific processor unit has the permission, the locking means holds information that the specific processor unit has the permission and issues non-permission in response to the lock request from any one of the other processor units.
After reception of the permission from the locking means, the specific processor unit performs the communication as the source processor unit with a desired one of the processor units which is called the receiving processor unit through the transmission means in the manner as described above. Then, the specific processor unit produces a communication completion signal or an unlock request to the locking means when receiving the reply signal from the receiving processor unit.
The locking means unlocks issue of the permission in response to the unlock request from the specific processor unit, then the locking means restores to the initial or waiting condition.
In the interprocessor communication system as described above, the locking means locks issue of the permission when communication is carried out between a first and a second of those processor units. Accordingly, the other processor units cannot perform interprocessor communication.
On the other hand, it is often required to establish synchronization and perform communication between EPUs which are carrying out parallel processing. However, the communication between EPUs cannot be performed when the locking means locks issue of the permission by a previous lock request from another processor unit. This results into degradation of performance of EPUs and decreases throughput of the information processing system.